#define DEBUG
#include <cstdio>
#include <cmath>
#include <algorithm>

using namespace std;

const int maxn=200000;

long long gcd(long long a, long long b) {
  for (long long r=a%b; r; a=b, b=r, r=a%b);
  return b;
}

long long lcm(long long a, long long b) {
  return a/gcd(a, b)*b;
}

class Point {
public:
  long long x, y, t;
  int id;

  void set(long long _x, long long _y, long long p, long long q) {
    x = _x, y = _y, t = q*y-p*x;
  }

  static bool cmp(Point a, Point b) {
    return a.t<b.t;
  }
};

int main() {
  freopen("slope.in", "r", stdin);
  freopen("slope.out", "w", stdout);

  static Point points[maxn+1];
  int n;
  long long p, q;
  scanf("%d %lld %lld", &n, &p, &q);
  long double target=(long double)p/q;
  for (int i=1; i<=n; i++) {
    long long x, y;
    scanf("%lld %lld", &x, &y);
    points[i].set(x, y, p, q);
    points[i].id = i;
  }

  sort(points+1, points+n+1, Point::cmp);

  long long ansp=points[1].y-points[2].y, ansq=points[1].x-points[2].x;
  long double ans=ansp/ansq, dec=abs(target-ans);
  for (int i=1; i<n; i++) {
    int j=i+1;
    long double now=(long double)(points[i].y-points[j].y)/(points[i].x-points[j].x), temp=abs(target-now);
    if (temp<dec || (temp==dec && now<ans)) {
      ans = now;
      ansp = points[i].y-points[j].y, ansq = points[i].x-points[j].x;
      dec = temp;
    }
  }

  long long temp=gcd(ansp, ansq);
  ansp /= temp, ansq /= temp;
  if (ansq<0) {
    ansp = -ansp , ansq = -ansq;
  }
  printf("%lld/%lld\n", ansp, ansq);

  fclose(stdin);
  fclose(stdout);
  return 0;
}
